<template>
    <div class="count">
        <h2>当前求和为: {{ countStore.sum }}</h2>
        <select v-model.number="n">
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
        </select>
        <button @click="add">加</button>
        <button @click="minus">减</button>
    </div>
</template>

<script setup lang="ts" name="Count">
    import { ref } from 'vue';
    import { useCountStore } from '@/store/count';

    const countStore = useCountStore()

    // 以下两种方法都可以拿到数据
    // console.log('@@@', countStore.sum)
    // console.log('@@@', countStore.$state.sum)

    //数据
    let n = ref(1)

    //方法
    function add() {
        // 第一种修改方式
        // countStore.sum += n.value

        // 第二种修改方式(可以批量修改，且有提示拼写错误)
        // countStore.$patch({
        //     sum: 666
        // })

        // 第三种修改方式:actions
        countStore.increment(n.value)
    }
    function minus() {
        countStore.decrement(n.value)
    }
</script>

<style scoped>
    .count {
        background-color: aqua;
        padding: 10px;
        border-radius: 10px;
        box-shadow: 0 0 10px;
    }

    select,
    button {
        margin: 0 5px;
        height: 25px;
    }
</style>